A number of technologies provide solutions for tracking and analysis of real-time streams of information from multiple sources across a network. Complex event processing (CEP) is a method of tracking and processing streams of data and inferring events or patterns.
The semantic web, an initiative of the Worldwide Web Consortium (W3C), standardizes a stack of software components that represent knowledge using a semantic web ontology. The ontology, named OWL, the most recent version being OWL 2, provides a language to represent relationships between entities. Additionally, the semantic web initiative has defined methods for representing complex interrelationships between entities on a network and communicating facts about the entities and relationships.
OWL is used to build knowledge through a series of declarative statements referred to as axioms. OWL relies on another W3C standard named Resource Description Framework (RDF) that provides a general method for conceptualizing the description or modeling of information, using a variety of syntax notations and data serialization formats. RDF standardizes the format for statements and uses a three part format referred to as triples in which a subject and object are related by a predicate, which may also be referred to as a property or relation.
A class of databases, referred to as a triple store, has emerged that natively stores RDF subject-predicate-object (SPO) triples.
While a number of real-time applications, such as industrial control, can be modeled using an OWL, or more generally an ontology, approach, these applications have a temporal component. That is, in order to construct a complete application time information must be associated with events. In such temporal applications axioms change from time-to-time and assertions, i.e. SPO values, may be updated frequently. Databases with built-in support for handling a temporal information associated with knowledge or data are known as temporal databases. A bitemporal database is a type of temporal database.
Therefore, it would be advantageous to combine the advantages of bitemporal databases with an ontology approach to enable the representation, storage, and processing of streams of data to provide a rich, hierarchical representation method that also supports temporal processing.
Applications such as industrial control are typically real-time applications in which information concerning a large number of real world objects, e.g. pumps or sensors, is updated frequently and the associated processing must keep up with the incoming data flow. In such applications there may be a high volume of assertions sent to a central control system that is monitoring or managing a plant or facility. For such applications it would be advantageous to combine the advantages of bitemporal databases and an ontology approach to modeling and storing knowledge and to optimize the real-time processing to rapidly process high volumes of incoming assertions.
Thus, it is with respect to these considerations and others that the present invention has been made.